/**
 * Created by 郝栩彬 on 2017/7/10.
 */
var express = require('express');
var router = express.Router();
var User = require('../models/User')
var Category = require('../models/Categories');

// router.use(function (req, res, next) {
//     // if (!req.userInfo.isAdmin) {
//     //     //不是管理员
//     //     res.send('不是管理员！');
//     //     return;
//     // } else {
//     //     next()
//     // }
// });

router.get('/', function (req, res, next) {
    res.render('admin/index', {userInfo: req.userInfo})
})
//分页封装
function renderAdminTable(obj,type,limit){
    router.get('/'+type+'/', function (req,res,next) {
        var page=req.query.page||1;

        var count=0;

        obj.count().then(function(_count){
            count=_count;
            var pages=Math.ceil(count/limit);

            page=Math.min(page,pages);
            page=Math.max(page,1);

            var skip=(page-1)*limit;

            obj.find().limit(limit).skip(skip).then(function(data){

                res.render('admin/'+type+'_index',{
                    type:type,
                    userInfo:req.userInfo,
                    data:data,
                    page:page,
                    pages:pages,
                    limit:limit,
                    count:count
                });
            });
        });//获取总页数
    });
}
//用户分页操作
renderAdminTable(User,'user',10)
//用户分页操作
//博客分类管理
renderAdminTable(Category,'category',5)
//博客分类管理
router.get('/category/add', function (req, res, next) {
    res.render('admin/category_add', {
        userInfo: req.userInfo
    });
});
router.post('/category/add', function (req, res, next) {
    var name = req.body.name || ''
    if (name == '') {
        res.render('admin/error', {
            userInfo: req.userInfo,
            massage: '提交内容不能为空！',
            operation: {
                url: 'javascript:window.history.back()',
                operation: '返回上一步'
            }

        })
    }
    else {
        Category.findOne({
            name: name
        }).then(function (cate) {
            if (cate) {
                res.render('admin/error', {
                    userInfo: req.userInfo,
                    massage: '该分类已存在',
                    operation: {
                        url: 'javascript:window.history.back()',
                        operation: '返回上一步'
                    }
                })
                return Promise.reject();
            }
            else {
                return new Category({
                    name: name
                }).save()
            }
        }).then(function (newCategory) {
            res.render('admin/success', {
                userInfo: req.userInfo,
                massage: '分类保存成功',
                operation: {
                    url: 'javascript:window.history.back()',
                    operation: '返回上一步'
                }
            })

        })
    }
})
//类型分页操作

module.exports = router